import actionObj from "@/common/hubRouterConfig";
import router from "@/router";

/**
 * 获取url具体参数值
 * @param {String}  variable  - 参数
 */
export function getQueryVariable(variable) {
  const reg = new RegExp("(^|&)" + variable + "=([^&]*)(&|$)", "i");
  const url = window.location.href.split("?")[1].match(reg);
  console.log(url)
  if (url != null) {
    return decodeURI(url[2]); //decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。
  } else {
    return "";
  }
}

/**
 * Hub页跳转方法
 * @param {String}  action  - 页面路由标识
 * @param {Object}  params  - 其他参数
 */
export function hubGoNext(action, params) {
  let nextPath = actionObj[action];
  router.push({
    path: nextPath,
    query: {
      action: getQueryVariable("action"), //同一个项目下最好都带上自己的action
      ...params,
    },
  });
}

/**
 * 通用跳转方法
 * @param {String}  actionPath  - 页面路由
 * @param {Object}  params  - 其他参数
 */
export function goNext(actionPath, params) {
  router.push({
    path: actionPath,
    query: {
      action: getQueryVariable("action"), //同一个项目下最好都带上自己的action
      ...params,
    },
  });
}
